C++ and Object-Oriented Programming (for C Programmers)
An intensive, five-day, lecture-and-laboratory C++ and
object-oriented programming course for practicing C programmers. C++ is
a variant of the ANSI C programming language. C++ offers three major
items beyond ANSI C, and each is discussed in reasonable technical
detail in this course-enhancements to ANSI C that improve the process of
writing programs, features for data abstraction and encapsulation that
enable programmers to create new data types, and capabilities for
object-oriented programming. The course clearly explains the C++
programming language and contains detailed walkthroughs of many C++
programs. Students become proficient in C++, understand the
object-oriented paradigm, and participate in a challenging laboratory
assignment in which they complete a group project involving both
object-oriented design and object-oriented programming in C++. Solutions
are provided for the laboratory exercises. 60% lecture and 40%
laboratory exercises.
Prerequisites
- General familiarity with your operating system environment
- Ability to create and edit text files
- Program in ANSI C or C++ at the level of "Introduction to ANSI
C and C++
- Programming: Part 2 (for Non-C Programmers)"
Course Objectives
- Understand the concepts of object-oriented programming
- Understand encapsulation
- Understand extensibility
- Understand software reusability
- Understand how to use class libraries
- Perform C++-style input/output
- Use C++ as "a better C"
- Write inline functions
- Use reference parameters
- Perform dynamic memory allocation with new and delete
- Use default function arguments
- Build abstract data types using classes
- Understand and use constructor and destructor functions to
initialize and destroy
- class objects
- Use the const qualifier to create constant objects and constant
member functions
- Create static data members and static member functions
- Use friend functions and friend classes
- Overload functions
- Create function templates
- Overload operators to work with user-defined classes
- Create container classes
- Create class templates
- Use inheritance to build class hierarchies
- Perform inheritance with class templates
- Understand and use polymorphism and virtual functions
- Understand exception handling
- Understand multiple inheritance
- Understand elementary object-oriented analysis and design
- Compare and contrast composition and private inheritance
© Copyright 1995-6, Rogue Wave
Software, Inc.